﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Graphene.Processing
{
    public abstract class AbstractMultiSourceProcessor : AbstractProcessor
    {
        public Dictionary<string, ProcessorSource> ProcessorSources
        {
            get { return processorSources; }
        }

        public Dictionary<string, Object> CopiedSourceDatas
        {
            get { return copiedSourceDatas; }
        }

        /**
         * These will supply the input data for the processor.
         * There could be more than one ProcessorSources. They are identified by their identifier.
         */
        protected Dictionary<string, ProcessorSource> processorSources;

        /**
         * A copy of the processorSources's last known source that we are allowed to work on.
         */
        protected Dictionary<string, Object> copiedSourceDatas;
    }
}
